contents

시스템 버스는 컴퓨터의 주요 구성 요소들을 연결하여 서로 데이터와 명령을 주고받을 수 있게 하는 주된 통신 경로입니다. 컴퓨터의 중추 신경계 또는 주요 고속도로라고 생각할 수 있으며, CPU, 주 메모리(RAM), 그리고 입출력(I/O) 장치들을 연결합니다.

현대 컴퓨터 아키텍처는 더 복잡한 점대점(point-to-point) 상호연결 방식을 사용하도록 발전했지만, 전통적인 시스템 버스 개념은 컴퓨터 작동 방식을 이해하는 데 기본이 됩니다.


세 가지 주요 버스

시스템 버스는 단일 배선이 아니라, 각각 특정 역할을 하는 세 개의 개별 버스 모음입니다.

비유: 도시의 도로 시스템을 상상해 보세요.


1. 주소 버스 📍

주소 버스는 CPU에서 다른 구성 요소로 가는 단방향 통로입니다. 그 유일한 목적은 물리 메모리 주소를 지정하는 것입니다.


2. 데이터 버스 🚚

데이터 버스는 CPU와 다른 구성 요소 간에 실제 데이터를 전송하는 양방향 통로입니다.


3. 제어 버스 🚦

제어 버스는 모든 구성 요소의 활동을 조율하는 데 사용되는 다양한 신호들의 모음입니다. 시스템에 주소와 데이터로 무엇을 할지 알려줍니다.


함께 작동하는 방식: 읽기 동작

CPU가 RAM에서 데이터를 읽는 간단한 과정을 살펴보겠습니다.

  1. CPU가 데이터 요청: CPU가 메모리 위치 0x1A2B의 데이터를 필요로 합니다.
  2. 주소 버스: CPU가 주소 0x1A2B를 주소 버스에 보냅니다.
  3. 제어 버스: CPU가 제어 버스를 통해 "메모리 읽기" 신호를 보냅니다.
  4. 메모리 컨트롤러: 주 메모리 컨트롤러가 주소와 읽기 신호를 확인하고, 위치 0x1A2B에 저장된 데이터를 검색합니다.
  5. 데이터 버스: 메모리 컨트롤러가 검색된 데이터를 데이터 버스에 보냅니다.
  6. CPU가 데이터 수신: CPU가 데이터 버스에서 데이터를 읽어와 계산에 사용합니다.

이 모든 단계는 제어 버스의 클럭 신호에 의해 완벽하게 동기화된 춤처럼, 초당 수백만 번씩 일어납니다.


발전 과정: 프론트 사이드 버스에서 점대점 방식으로

모든 것을 연결하는 단일 시스템 버스의 전통적인 모델은 프론트 사이드 버스(FSB) 로 알려져 있습니다. 하지만 CPU와 RAM이 빨라지면서 이는 주요 병목 현상이 되었습니다. 모든 구성 요소가 같은 고속도로를 사용하기 위해 경쟁해야 했기 때문입니다.

현대 컴퓨터 아키텍처는 단일 시스템 버스를 대부분 더 빠르고 전용된 점대점(point-to-point) 상호연결 방식으로 대체했습니다.

물리적인 구현 방식은 바뀌었지만, 주소 지정, 데이터 전송, 그리고 제어라는 논리적 개념은 컴퓨터 구성 요소들이 통신하는 방식의 기초로 남아 있습니다.

references